The 20 Games Challenge
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage


VVVVVV is a retro puzzle-platformer. It came out in 2010, but it could have been at home in early 8-bit games. Instead of jumping, the player controls gravity, allowing the protagonist to fall upwards or downwards. The game is a great example of designing within constraints. Instead of focusing on “modern” graphics and sound, the game limits itself to simple sprites and chip-tune music.



  • Create a 2D character controller. The player should be able to walk left or right. They cannot jump, instead gravity will reverse directions. Gravity will only change if the player is standing on a surface.
  • Create a puzzle level. Each level will be made up of multiple rooms.
    • Rooms can contain spikes, moving platforms, moving enemies, or dissolving platforms (that disappear a second after they player stands on them)
    • The player can exit the room in any direction, and will walk or fall into an adjacent room when they do so.
    • Each room will contain one or more checkpoints. When a player touches a checkpoint, that checkpoint will light up. Players will return to the illuminated checkpoint when they die (even if it is in another room).
  • Make some music and sound effects! (If you want to learn to make your own music, then take this opportunity to learn about chip-tunes, and compose something fun!)

Stretch goal:

  • VVVVVV is a simple concept, but contains a lot of polish, refinement, and charm. Add a unique theme to each room in your level.

    Try to make each room (or set of rooms) into a complete and unique puzzle. Share your game with friends or on the community discord, and ask for level design feedback. Feel free to iterate a few times until the difficulty feels just right.

You’re not the first person to attempt this challenge! Check out some completed games below!

Don’t forget to share your progress on the community discord!

I’ll periodically update this section with community submissions. Feel free to message me if you want yours to be included. You can also open a pull request yourself to add your game, or someone else’s.